package com.ruoyi.system.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.SysOssPartDetail;

/**
 * 文件分片信息，仅在手动分片上传时使用Mapper接口
 *
 * @author fengcheng
 * @date 2025-01-16
 */
public interface SysOssPartDetailMapper extends BaseMapper<SysOssPartDetail> {
    /**
     * 查询文件分片信息，仅在手动分片上传时使用
     *
     * @param ossPartDetailId 文件分片信息，仅在手动分片上传时使用主键
     * @return 文件分片信息，仅在手动分片上传时使用
     */
    public SysOssPartDetail selectSysOssPartDetailByOssPartDetailId(String ossPartDetailId);

    /**
     * 查询文件分片信息，仅在手动分片上传时使用列表
     *
     * @param sysOssPartDetail 文件分片信息，仅在手动分片上传时使用
     * @return 文件分片信息，仅在手动分片上传时使用集合
     */
    public List<SysOssPartDetail> selectSysOssPartDetailList(SysOssPartDetail sysOssPartDetail);

    /**
     * 新增文件分片信息，仅在手动分片上传时使用
     *
     * @param sysOssPartDetail 文件分片信息，仅在手动分片上传时使用
     * @return 结果
     */
    public int insertSysOssPartDetail(SysOssPartDetail sysOssPartDetail);

    /**
     * 修改文件分片信息，仅在手动分片上传时使用
     *
     * @param sysOssPartDetail 文件分片信息，仅在手动分片上传时使用
     * @return 结果
     */
    public int updateSysOssPartDetail(SysOssPartDetail sysOssPartDetail);

    /**
     * 删除文件分片信息，仅在手动分片上传时使用
     *
     * @param ossPartDetailId 文件分片信息，仅在手动分片上传时使用主键
     * @return 结果
     */
    public int deleteSysOssPartDetailByOssPartDetailId(String ossPartDetailId);

    /**
     * 批量删除文件分片信息，仅在手动分片上传时使用
     *
     * @param ossPartDetailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysOssPartDetailByOssPartDetailIds(String[] ossPartDetailIds);

    /**
     * 根据uploadId删除文件分片信息
     *
     * @param uploadId
     */
    void removeByUploadId(String uploadId);
}
